
package com.insigma.business.qrcode.soldier._bff;



import com.insigma.business.qrcode.common.annotation.ApiServiceType;
import com.insigma.business.qrcode.common.template.BasePagingResponse;
import com.insigma.business.qrcode.common.vo.BaseDeleteRequest;
import com.insigma.business.qrcode.common.vo.BaseResponse;
import com.insigma.business.qrcode.soldier.dto.*;
import com.insigma.business.qrcode.soldier.dto.SoldierMessageInfoUpdateRequest;
import com.insigma.business.qrcode.soldier.request.*;

import java.util.List;


public interface SoldierMessageInfoBFFProvider {

    
    @ApiServiceType(value = "gov.ss.message.search", name = "查询我的消息", desc = "查询我的消息")
    BasePagingResponse<List<SoldierMessageInfoDTO>> searchSoldierMessageInfo(final SoldierMessageInfoSearchRequest soldierMessageInfoSearchRequest);

    
    @ApiServiceType(value = "soldier.ss.message.my.search", name = "查询我的消息", desc = "查询我的消息")
    BasePagingResponse<List<SoldierMessageInfoDTO>> searchMyMessage(final SoldierMessageInfoSearchRequest soldierMessageInfoSearchRequest);

    
    @ApiServiceType(value = "all.ss.message.view", name = "查询需要提醒的消息", desc = "查询需要提醒的消息", opsLog = "消息")
    BaseResponse<SoldierMessageInfoDTO> getSoldierMessageInfo(final BaseGetRequest baseGetRequest);

    
    BaseResponse<String> insertSoldierMessageInfo(final SoldierMessageInfoInsertRequest soldierMessageInfoInsertRequest);

    
    @ApiServiceType(value = "gov.ss.soldier.message.delete", name = "删除数据", desc = "删除数据", opsLog = "消息")
    BaseResponse<Integer> deleteSoldierMessageInfo(final BaseDeleteRequest deleteRequest);

    
    @ApiServiceType(value = "soldier.ss.soldier.message.remind.list", name = "查询需要提醒的消息", desc = "查询需要提醒的消息")
    BaseResponse<List<SoldierMessageInfoDTO>> listRemindAndUnreadMessageInfo();

    
    @ApiServiceType(value = "soldier.ss.soldier.message.read", name = "查询需要提醒的消息", desc = "查询需要提醒的消息")
    BaseResponse<Integer> setMessageRead(SimpleApiRequest request);

    
    @ApiServiceType(value = "soldier.ss.message.unread.count", name = "查询需要提醒的消息", desc = "查询需要提醒的消息")
    BaseResponse<SoldierMessageStatusDTO> countNotReadMessage();


    
    @ApiServiceType(value = "soldier.ss.soldier.message.not.sign.list", name = "没有签名的messge", desc = "没有签名的messge")
    BaseResponse<List<SoldierMessageInfoDTO>> listNotSignMessageOfPlacement();

    
    @ApiServiceType(value = "gov.ss.soldier.message.placement.add", name = "插入安置消息", desc = "插入安置消息", opsLog = "消息")
    BaseResponse<String> addMessageOfPlacement(final SoldierMessageInfoInsertRequest soldierMessageInfoInsertRequest);

    
    @ApiServiceType(value = "gov.ss.soldier.message.gov.add", name = "插入安置消息", desc = "插入安置消息", opsLog = "消息")
    BaseResponse<String> addMessageOfGov(final SoldierMessageInfoInsertRequest soldierMessageInfoInsertRequest);

    
    @ApiServiceType(value = "gov.ss.soldier.message.gov.zyqt.batch.add", name = "钱塘-新增消息", desc = "钱塘-新增消息", opsLog = "消息")
    BaseResponse<String> addMessageOfZhyt(final SoldierMessageInfoInsertRequest soldierMessageInfoInsertRequest);

    
    @ApiServiceType(value = "gov.ss.soldier.message.gov.update", name = "更新数据", desc = "更新数据", opsLog = "消息")
    BaseResponse<Integer> updateSoldierMessageInfo(final SoldierMessageInfoUpdateRequest soldierMessageInfoUpdateRequest);


    
    @ApiServiceType(value = "soldier.ss.soldier.message.sign.add", name = "插入消息sign-安置", desc = "插入消息sign-安置", opsLog = "消息")
    BaseResponse<String> addMessageSignOfPlacement(final CommonSignInfoInsertRequest request);

    
    @ApiServiceType(value = "gov.ss.soldier.message.publish", name = "发布消息", desc = "发布消息", opsLog = "消息")
    BaseResponse<Integer> publishMessage(final SoldierMessageInfoUpdateRequest request);

    
    @ApiServiceType(value = "gov.ss.soldier.message.job.message.search", name = "发布消息", desc = "发布消息", opsLog = "消息")
    BasePagingResponse<List<SoldierJobMessageInfoDTO>> searchJobMessageStats(final CommonLedgerStatsRequest request);
}
